把兩個網站放在同個 Linode
因為我又想架另一個網站,考量到只是靜態網站不需太多空間資源,於是在想有沒有可能把兩個網站都放在同個 Linode 空間,這樣就不用多開方案付錢了。
沒想到研究一番後,發現比想像中簡單的多,不管是子網域或是不同網域都行的通。
例如你有一個網域 example.com,你想用子網域分成兩個網站 (blog.example.com, profile.example.com) 或是有兩個網域 (exampleA.com, exampleB.com)
要注意你的網站本身用途,如果有很複雜的資料庫或是規模較大,還是分開空間經營比較保險。
目前此站《郊郊郊狼》跟新站都是靜態網站,所以我比較敢這樣做。
這邊文章是基於此站架完後再延伸,要了解架站初始設定可以參考上一篇
基本資料:
- 本地端電腦 (Win11 + Powershell)
- Linode 的方案 (這次用 Shared CPU - Nanode 1 GB 方案,每月 5 美金,OS 為 Ubuntu)
- 我都是看英文資源,所以要跟以下流程,需要有一定英文基礎
- 網路伺服器為 Nginx,如果你用 Apache,需另外找資料了
將新網域/子網域加入 Linode
這個官方已經有文件就不說了,基本上就是照著跑
建立新 Conf 檔,並且執行串聯
-
在 Nginx 的 sites-available 資料夾建立自訂域名的 conf 檔案
sudo touch /etc/nginx/sites-available/exampleNew.com記得不用加 .conf 副檔名
-
然後編輯該 conf 檔
sudo nano /etc/nginx/sites-available/exampleNew.com貼上以下,exampleNew.com 要改成自己的網域
server {listen 80;listen [::]:80;server_name exampleNew.com;root /var/www/exampleNew.com;index index.html;location / {try_files $uri $uri/ =404;}} -
使用串聯指令
sudo ln -s /etc/nginx/sites-available/exampleNew.com /etc/nginx/sites-enabled/ -
測試 conf 檔輸入正確,正確會顯示 Success
sudo nginx -t -
有成功就重啟
sudo systemctl restart nginx -
conf 有指定 root index 檔案,所以要建立相關資料夾
sudo mkdir /var/www/exampleNew.com -
確保 指定使用者可以在 Filezilla 傳輸(如果有的話),記得變更權限
sudo chown -R example_user /var/www/exampleNew.com/
有沒有發現跟上一篇的步驟一樣,沒錯,只要你會建第一個,基本上就會很多個了,就是記得:
- /etc/nginx/sites-available/ 建立新 conf
- 串聯檔案到 /etc/nginx/sites-enabled/
- /var/www/ 要記得建立新網域資料夾
- 新加的網域記得也要跑 Cerbot
如果以 exampleA.com, exampleB.com 兩個網域舉例
最後新增成功的話,資料夾跟內容應該會長這樣:
- /etc/nginx/sites-available/ 會有 exampleA.com, exampleB.com 兩個 conf
- /etc/nginx/sites-enabled/ 會有 exampleA.com, exampleB.com 兩個 conf
- /var/www/ 會有 exampleA.com, exampleB.com 兩個資料夾